package model;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;

/**
 * A Batch keeps 0 - * Cards.
 * 
 * @author sloth42
 *
 */
public class Batch {

	public enum BatchType {NOT_LEARNED, SHORT_TIME_MEMORY, ULTRA_SHORT_TIME_MEMORY, LONG_TERM};
	private BatchType batchType;
	private Collection<Card> cards = new ArrayList<Card>();
	
	public Batch(BatchType batchType) {
		this.batchType = batchType;
	}
	
	public Collection<Card> getCards() {
		return cards;
	}

	public void shuffleCardOrder() {
		Collections.shuffle((List<Card>) cards);
	}
	
	public void moveCardToEndOfBatch(Card card) {
		cards.remove(card);
		cards.add(card);
	}
	
	public int getNumberOfCards() {
		return cards.size();
	}

	public BatchType getBatchType() {
		return batchType;
	}

	public void addCard(Card card) {
		cards.add(card);
		
	}

	
}